There exist various computer software applications that allow users to create illustrations. In current illustration computer software, content is typically created using a variety of tools that the applications provide. For example, a “Rectangle” tool is used to create rectangles and a “Bezier” tool can be used to create arbitrary curves. There are typically many tools to enable the user to create illustrations. Each of these tools behave differently, which requires users to learn the functionality of multiple tools. In addition, it is often necessary to use a combination of these tools in order to create the desired result.
Learning how to use the variety of tools can be time consuming and can require training. In addition, switching between various tools to create a vector illustration is not an ideal workflow. These tools do not allow users to simply draw as if sketching on a sheet of paper. Thus, users cannot focus on the creation process, instead they have to think about which tools to use to achieve the desired result.
Existing vector illustration software applications offer very little in terms of automatic sketch enhancement. Typically these tools offer some kind of curve smoothing to help users achieve smooth curves when drawing strokes.
Other existing applications have offered additional drawing assistance to allow the user the ability to automatically create a polyline by drawing a stroke. Vertices in the polylines are created at the high-curvature points in the stroke, and line segments join the vertices to form the resulting polyline.
However, in both the previous examples, the user still needs to switch between tools to create different kinds of shapes and objects, such as rectangles and ellipses. In these examples, the application has no knowledge of the sketch, and only polylines and curves are created in this fashion. Also, each of these tools have a single purpose, that of creating curves or polylines, but not both.
There exist an illustration application that has limited ability to recognize basic shapes such as rectangles, ellipses, triangles, parallelograms, and some variations of shapes such as dashed or bold. However, these functions are relatively limiting.
Also, a system has been proposed that allows a user to sketch a rough shape and then replaces it with the most probable shape that it could recognize. This system has several flaws, including many incorrect recognitions, a relatively small number of different recognizable shapes, and it has no specified behaviour for sketches that it can not recognize.
Pen & Internet (trademark of Pen&Right) provides riteShape (trademark of Pen&Right), which is integrated into an online e-mail client called riteMail (trademark of Pen&Right). This system allows some shape recognition and enhancement of shapes, such as smoothing and alignment of circles, squares, ovals, rectangles, triangles, arrows and lines. However, this shape recognition is still limited to certain shapes and cannot enhance other shapes in a satisfactory manner.
It is therefore desirable to provide a better mechanism to recognize shapes and enhance sketches.